package com.joysuch.wwyt.openapi.services.serviceV1;

import com.joysuch.wwyt.core.exception.ApiCoreException;
import com.joysuch.wwyt.dzhapi.dto.BuildDataDto;
import com.joysuch.wwyt.openapi.controllers.controllerV1.req.ApiV1BpDepartAddReq;
import com.joysuch.wwyt.openapi.controllers.controllerV1.req.ApiV1BpDepartQueryListReq;
import com.joysuch.wwyt.openapi.controllers.controllerV1.req.ApiV1BpDepartTreeListReq;
import com.joysuch.wwyt.openapi.controllers.controllerV1.req.ApiV1BpDepartUpdateReq;
import com.joysuch.wwyt.openapi.controllers.controllerV1.vo.ApiPagePropertyDataVo;
import com.joysuch.wwyt.openapi.controllers.controllerV1.vo.ApiResultData;
import com.joysuch.wwyt.openapi.controllers.controllerV1.vo.ApiV1BpDepartTreeListVo;
import com.joysuch.wwyt.openapi.exception.ApiV1ExceptionCodeMsg;

import java.util.List;

/**
 * @author: JamesZY
 * @date: 2021/8/24
 * @description:
 */
public interface ApiV1BpDepartService {
    List<ApiResultData> add(List<ApiV1BpDepartAddReq> data, BuildDataDto buildDataDto);

    List<ApiResultData> deleteByIds(List<String> data, BuildDataDto buildDataDto);

    void update(ApiV1BpDepartUpdateReq req, BuildDataDto buildDataDto) throws ApiV1ExceptionCodeMsg;

    ApiPagePropertyDataVo list(ApiV1BpDepartQueryListReq req, BuildDataDto buildDataDto);

    List<ApiV1BpDepartTreeListVo> treeList(ApiV1BpDepartTreeListReq req, BuildDataDto buildDataDto);
}
